E G O N ! CD-Utilities 3.1.X LIGHT-VERSION (c) 1998 by M.u.C.S. M.u.C.S. Sacha Roth Gustav-Adolf-Straže 11 D-30167 Hannover FON : +49 (0)511 71 00 599 FAX : +49 (0)511 71 00 845 http://home.t-online.de/home/MUCS-Hannover Email:MUCS-Hannover@t-online.de (p) Peter Hilbring, Dez. 97 *** Diese Anleitung stammt von der grožen Version inkl. Zu satzprogramme. Fr die LIGHT-Version sind nur EGON!-An- gaben relevant. Die LIGHT-Version beinhaltet keine Zu- satzprogramme oder Tools. Was steht in der Anleitung ? Was ist EGON! ? Was kann EGON! ? Wie schlieže ich ein CD-ROM an meinen ATARI¿ an ? Welche CD-ROM Laufwerke kann ich benutzen ? Wie installiere ich die EGON! CD-Utilities ? Was befindet sich auf der Diskette ? Aufbau der CONFIG.SYS Datei EGON! fr den Programmierer Aufbau der EGON_INFO-Struktur Die Parameterbergabe an die Funktionen Welche Funktion ist wozu zu gebrauchen ? EGON! und MetaDOS Anmerkungen Was ist EGON! ? EGON! ist ein MetaDOS CD-ROM Treiber der auf allen ST Modellen, angefangen beim kleinsten ST, bis hin zum TT oder Falcon030 funktioniert. (Erste Tests am HADES liefen ebenfalls positiv) Damit die Installation von EGON! ebenso einfach wie die Installation einer Festplatte funktioniert befindet sich auf der ORIGINAL-Diskette ein Installationsprogramm (EGONINST.APP). Was kann EGON! ? EGON! erm”glicht es Ihnen auf eine CD in einem angeschlossenen CD-ROM Laufwerk genauso zuzugreifen wie auf eine Partition einer Festplatte oder eine Diskette. Sie k”nnen fast alles mit einer CD machen was sie auch mit einer "normalen" Festplatte oder Diskette machen k”nnten, ... ... nur Schreiben auf eine CD geht leider nicht. Wie schlieže ich ein CD-ROM an meinem ATARI¿ an ? Nichts einfacher als das. Ein CD-ROM Laufwerk wird genau wie eine Festplatte mit Ihrem ATARI¿ Computer verbunden. Bei einem externen CD-ROM Laufwerk verbinden Sie den Computer mit einem ACSI-Interface oder einem SCSI-Kabel mit der entsprechenden Buchse des CD Laufwerks. Nun mssen Sie das CD-ROM nur noch mit STROM versorgen und es kann losgehen. Bei internen Laufwerken wie sie in Towern zum Einsatz kommen verfahren Sie ebenso. Genauere Informationen entnehmen Sie dem Handbuch des ATARI¿ Computers oder der Anleitung zu Ihrem ACSI-Interface. Welche CD-ROM Laufwerke kann ich benutzen ? Im Prinzip funktioniert jedes SCSI-Laufwerk an Ihrem ATARI¿. Dieses schliežt leider die "billig-AT-Bus-Laufwerke" aus, die an IBM-kompatiblen PCs benutzt werden k”nnen. Einige besonders "preiswerte" CD-Laufwerke bereiten teilsweise Probleme z.B. bei der AUDIO CD-Funktion. Wie installiere ich die EGON! CD-Utilities ? Schliežen Sie das CD-ROM Laufwerk, wie oben beschrieben, an Ihren Computer an. Nun legen Sie die NICHT schreibgeschtzte EGON! Installationsdiskette in Laufwerk A und fhren mit der linken Maustaste einen Doppelklick auf das Symbol fr das Diskettenlaufwerk A auf dem Desktop aus. In dem sich nun "”ffnenden Fenster befinden sich mehrere Dateien. Suchen Sie nun die Datei EGONINST.APP und starten sie das Programm durch einen Doppelklick auf diese Datei. Nach wenigen Augenblicken erscheint der erste Benutzerdialog des Installationsprogrammes in dem Sie aufgefordert werden ihren Namen und ihre Anschrift in die dafr vorgesehenen Felder einzutragen. Aužerdem sollten Sie noch die Seriennummer, welche Sie auf dem Diskettenlabel der ORIGINAL-Diskette finden, in das entsprechende Feld eintragen. Bitte gehen Sie bei diesen Eintr„gen sorgf„ltig vor und tragen Sie keine Phantasienamen oder „hnliches ein da Updates nur durchgefhrt werden k”nnen wenn Ihre eingegebenen Daten korrekt sind. Sobald alles richtig eingegeben wurde klicken Sie bitte mit der LINKEN Maustaste auf den INSTALLIERE... Button. Jetzt sehen Sie den zweiten Benutzerdialog des EGON! Installationsprogrammes. In diesem Dialog stellen Sie ber Popupmenues das Laufwerk ein, auf dem die EGON! CD-Utilities installiert werden sollen. Hier sollte man das Laufwerk anw„hlen von dem aus auch Ihr ATARI¿ Computer gebootet wird. Normalerweise ist dies Laufwerk C. Als n„chstes mssen Sie die Ger„teadresse Ihres CD-ROM Laufwerkes eintragen. Wie Sie die Ger„teadresse Ihres CD-ROM Laufwerkes ermitteln k”nnen entnehmen Sie der Anleitung des Laufwerkes. Wichtig ist, daž das CD-ROM nicht von Ihrem Festplattentreiber angesprochen werden darf. Wenn Sie den ATARI¿-Treiber benutzen lassen Sie eine ID zwischen den Festplatten und dem CD-ROM frei. Auf diese Art kann der ATARI¿ Treiber das CD Laufwerk nicht mehr finden und ansprechen. Bei anderen Treibern entnehmen Sie bitte dem entsprechendem Handbuch wie man bestimmte Ger„teadresse ausblendet. Nun haben Sie die Qual der Wahl unter welchem Buchstaben das CD-ROM Laufwerk verwaltet werden soll. So steht A fr das erste Diskettenlaufwerk, B fr das zweite, C fr die erste Festplattenpartition und so weiter. Es ist zweckm„žig fr das CD-ROM einen Buchstaben zwischen D und P zu benutzen da es Programme gibt die auf Laufwerke gr”žer P nicht zugreifen k”nnen (obwohl der EGON!-Treiber Laufwerksbuchstaben bis V verwalten kann). Als letztes geben Sie bitte den Anschluž an, an dem Sie das CD-ROM Laufwerk betreiben m”chten. Bei einem ST ist dies der ACSI-Port, bei einem Falcon030 der SCSI-Port. Bei einem TT haben Sie die freie Auswahl, je nachdem ob Sie das Laufwerk ber ein ACSI-Interface oder direkt am SCSI-Bus betreiben m”chten. Bei der Installation wird auf dem Installationslaufwerk nach dem AUTO- und nach dem METADOS-Ordner gesucht und eventuell angelegt. In den AUTO-Ordner kopiert das EGON! Installationsprogramm die Dateien METADOS.PRG und CONFIG.SYS. In den METADOS-Ordner kommen die Ger„te- und Dateisystemtreiber ISO9660F.DOS und EGON.BOS. Das war auch schon alles. Nun k”nnen Sie einen Reset durchfhren und sich an Ihren neuen CD-ROM erfreuen. Was befindet sich auf der Diskette ? \EGONINST.APP Das Installationsprogramm \EGONINST.RSC Resourcefile \MANUAL.TXT Dieser Text \READ.ME Wenn vorhanden, letzte Erg„nzungen zum Handbuch \METADOS\METADOS.PRG ATARI¿s Metados Treiber \METADOS\CONFIG.SYS Beispiel CONFIG.SYS Datei \METADOS\README.TXT Readme Text von ATARI¿ \METADOS\ISO9669F.DOS ISO 9660 Dateisystemtreiber \METADOS\HSMAY.DOS High Sierra Dateisystemtreiber \METADOS\CDARGEN.BOS Treiber fr ATARI¿ CDAR-504 \LIB\METADOS.O MetaDOS Library fr Pure C \LIB\METADOS.H MetaDOS Headerfile \LIB\TEST.C Beispielsourcen zu der Library \LIB\TEST.TOS Beispielprogramm \LIB\TEST.PRJ Projektdatei fr Pure C \DEMO\EGONINSD.APP Demoversion von EGON! Die Demoversion ist auf eine Laufzeit von maximal 15 Minuten beschr„nkt. \DEMO\EGONINST.RSC Resourcefile \DEMO\CD-EXAM.TTP Low-Level SCSI Tools \DEMO\DVS_CONV.APP DVS nach AVR/AIFF Konverter \DEMO\EGON_DVS.APP DVS-Player fr F030 \CPX\EGONLOCK.CPX CPX zum Verriegeln des CD-ROMs \CPX\EGONLOCK.TXT Anleitung dazu \CPX\EGONPLAY.CPX CPX zum Spielen von Audio-CDs \CPX\EGONPLAY.TXT Anleitung dazu Aufbau der CONFIG.SYS Datei ; ; Config.sys Beschreibung der Systemkonfiguration. ; ; Physical Basic operating system format ;*BOS, [Physical Bos driver][Arguments], ; [Physical id]:[DMA channel], ... ; Device # meaning ; 0 - 7 ACSI device 0 - 7 ; 8 - 15 SCSI device 0 - 7 ; ; Die folgende Zeile meldet EGON.BOS als ACSI-Ger„t 4 an *BOS, C:\METADOS\EGON.BOS, Y:4 ; ; Logical DOS format. (Dateisystem Treiber) ;*DOS [Logical DOS] [Arguments], [Logical id]:[physical id],... ; ; Als n„chstes wird der EGON_ISO.DOS Treiber auf dem MetaDOS ; Ger„t Y (welches die ACSI-Adresse 4 verwaltet, s.o.) als ; GEMDOS Laufwerk P installiert. Wie schon bei der Installation ; Erkl„rt wurde ist es vorteilhaft ein GEMDOS Laufwerk bis ; maximal P zu w„hlen, da einige Programme auf h”here Laufwerke ; nicht zugreifen k”nnen. *DOS, C:\METADOS\EGON_ISO.DOS, O:Y ; ; MetaDOS kann auch Programme automatisch starten. ; c:\auto\boot\ram512.prg ; Load in 512 byte ramdisk. c:\auto\boot\gdos.prg ; Load in gdos. c:\auto\boot\diab630.prg ; Load in diablo 630 emulator. c:\auto\boot\sdump.prg ; Load in Screen dump to laser. EGON! fr den Programmierer EGON! legt bei erfolgreicher Installation einen Cookie an. Die Bezeichnung des Cookies ist EGON. Der Cookie zeigt auf eine Struktur die Einsprungadressen fr grundlegende Lese- und Schreibroutinen enth„lt. šber diese Routinen kann man auf einfache Art und Weise Daten ber den ACSI- bzw. SCSI-Bus bertragen. Aufbau der EGON_INFO-Struktur: typedef struct { void *smplscsi; /* Zeiger auf smplscsi */ void *rcvscsi; /* Zeiger auf rcvscsi */ void *wrtscsi; /* Zeiger auf wrtscsi */ void *clrcmdblk; /* Zeiger auf clrcmdblk */ void *cmdblk; /* Zeiger auf cmdblk */ UBYTE *info; /* Zeiger auf Versionsstring */ int id; /* Adresse des CD-ROM Laufwerks */ int log_drv; /* Logische Metados Laufwerks ID */ int cd_typ; /* Hersteller des CD-ROMs */ /* -1 = Standard CD-ROM */ /* 0 = ATARI¿ CDAR 502/504 */ /* 1 = Toshiba CD-ROM */ /* 2 = Apple CD150 / Sony 8002 / Pioneer */ /* 3 = Apple CD300 / Sony 8003 / Sony 561 */ int dma_typ; /* 0 = Normaler Adapter */ /* 1 = ICD Adapter */ /* 2 = c't Alia Adapter */ int port; /* 0 = CD-ROM am DMA Port */ /* 1 = CD-ROM am SCSI Port */ } EGON_INFO; Zus„tzlich gibt es zwei weitere Struktur-Eintr„ge, die allerdings einen negativen Offset haben. Offset -4: 4 Byte Magic-Word 0x45474f4e Offset -24: 20 Byte Zeichenkette "EGON! CD-Utilities",0,0 Die Parameterbergabe an die Funktionen * smplscsi D0.W : SCSI Unit Nummer (0-15) D1.L : Gr”že des šbertragungsbuffers in Bytes D2.W : SCSI Befehlsl„nge (cmdblk) in Bytes A0.L : Adresse des šbertragungsbuffers Nach Beendigung der Funktion steht in D0.W ein Rckgabewert. Ein Wert ungleich 0 deutet auf einen SCSI Fehler hin, der mit dem SCSI Befehl REQUEST SENSE n„her untersucht werden kann. Bei einem Wert von 0 ist die Funktion ohne Fehler beendet worden. * rcvscsi D0.W : SCSI Unit Nummer (0-15) D1.L : Gr”že des šbertragungsbuffers in Bytes D2.W : SCSI Befehlsl„nge (cmdblk) in Bytes A0.L : Adresse des šbertragungsbuffers Nach Beendigung der Funktion steht in D0.W ein Rckgabewert. Ein Wert ungleich 0 deutet auf einen SCSI Fehler hin, der mit dem SCSI Befehl REQUEST SENSE n„her untersucht werden kann. Bei einem Wert von 0 ist die Funktion ohne Fehler beendet worden. * wrtscsi D0.W : SCSI Unit Nummer (0-7) D1.L : Gr”že des šbertragungsbuffers in Bytes D2.W : SCSI Befehlsl„nge (cmdblk) in Bytes A0.L : Adresse des šbertragungsbuffers Nach Beendigung der Funktion steht in D0.W ein Rckgabewert. Ein Wert ungleich 0 deutet auf einen SCSI Fehler hin, der mit dem SCSI Befehl REQUEST SENSE n„her untersucht werden kann. Bei einem Wert von 0 ist die Funktion ohne Fehler beendet worden. * clrcmdblk A0.L : Zeiger auf eigenen cmdblk. Es gibt keinen Rckgabewert. Welche Funktion ist wozu zu gebrauchen * smplscsi Diese Funktion dient zum Verschicken von einfachen SCSI Befehlen (ohne zus„tzliche Daten) wie TEST UNIT READ oder START UNIT. * rcvscsi Diese Funktion dient zur Datenbertragung vom CD-ROM zum Rechner. Die Daten werden in einem šbertragungsbuffer zurckgeliefert. Ein typischer SCSI Befehl fr die Funktion ist READ. * wrtscsi Diese Funktion dient zur Datenbertragung zwischen Rechner und CD-ROM. Da man aber auf ein CD-ROM nicht schreiben kann ist eine sinnvolle Verwendung fr diese Funktion nur in der Konfiguration von CD-ROMs mittels des SCSI Befehle MODE SELECT zu sehen. * clrcmdblk Diese Funktion l”scht den treiberinternen cmdblk. Ein lokaler Kommandobuffer wird von dieser Funktion nicht ver„ndert. Es ist allerdings wichtig daž man nach jedem L”schen des lokalen Kommandobuffers die Funktion clrcmdblk aufruft um so "r„tselhafte Ph„nomene" beim Betrieb des Treibers zu vermeiden. EGON! und MetaDOS EGON! installiert sich mit Hilfe das ATARI¿ MetaDOS-Treiberpaketes. Auf diese Art stehen dem Programmierer somit auch die MetaDOS-XBIOS-Funktionen 48 bis 63 zur Verfgung. Fr diesen Zweck befindet sich auf der Diskette eine MetaDOS-Library. Diese Library erfllt die Pure-C Aufrufkonventionen und befindet sich im LIB-Ordner der ORIGINALDISKETTE. Welche Funktionen gibt es in der Library und dem zugeh”rigem Headerfile METADOS.H ? typedef struct { ULONG drivemap; /* Tabelle mit Bits fr die MetaDOS Ger„tetreiber "A.."Z" (Bit 0: "A") */ char *version; /* Zeichenkette mit Namen und Versionsnummer von Meta-DOS */ LONG reserved[2]; } METAINFO; int Metainit (METAINFO *buffer); int Metaopen (int drive, char *buffer); int Metaclose (int drive); int Metaread (int drive, char *buffer, long block, int count); int Metawrite (int drive, char *buffer, long block, int count); int Metaseek (int drive, long block); int Metastatus (int drive); int Metaioctl (int drive, long magic, int opcode, char *buffer); int Metastartaudio (int drive, int flag, char *buffer); int Metastopaudio (int drive); int Metasetsongtime (int drive, int repeat, long start, long end); int Metagettoc (int drive, int flag, char *buffer); int Metadiscinfo (int drive, char *buffer); int Metagetdriveno (long drivemap); Aufruf- und šbergabeparameter: Metasetsongtime erwartet START und END im Format welches von Metagettoc zurckgeliefert wird. REPEAT wird nicht benutzt. Metaopen In BUFFER sind ein Zeiger auf den Versionsstring des BOS Treibers und 3 Null-Zeiger enthalten. Metastartaudio BUFFER[0].B = Anzahl zu spielender Tracks (normalerweise 1) BUFFER[1].B = Track FLAG muž 0 sein. Metagettoc BUFFER[0].B = Track Nr. BUFFER[1].B bis BUFFER[3].B = Spielzeit im BCD-Format. Beispiel: $26 $19 $60 heižt 26min 19sec 60/75tel Sekunden. Dieses Format wird von Metasetsongtime als Eingabe akzeptiert. FLAG muž 0 sein. Metadiskinfo BUFFER[0].B = 0 BUFFER[1].B = First Track No. BUFFER[2].B = Last Track No. BUFFER[3].B = Track No. BUFFER[4].L = Track relativ CD-ROM Address BUFFER[8].L = Absolute CD-ROM Address BUFFER[12].L = End of CD absolute CD-ROM Address BUFFER[16].B = Index No. Alle Daten liegen im BCD-Code vor. Anmerkungen ATARI¿, MetaDOS, GEMDOS, XBIOS ST, TT und Falcon030 sind Warenzeichen der Firma ATARI¿ Computer. Das Installationsprogramm entstand unter Zuhilfenahme der EnhancedGEM-LIBRARY von Christian Grunenberg.